package com.ruoyi.system.weather_forecast.domain;

import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 天气预报对象 weather_forecast
 *
 * @author ruoyi
 * @date 2024-06-21
 */
public class WeatherForecast implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 城市id */
    @Excel(name = "城市id")
    private String cityId;

    /** 城市名称 */
    @Excel(name = "城市名称")
    private String cityName;

    /** 日期文字 */
    @Excel(name = "日期文字")
    private String dateText;

    /** 白天天气现象文字 */
    @Excel(name = "白天天气现象文字")
    private String textDay;

    /** 白天天气现象代码 */
    @Excel(name = "白天天气现象代码")
    private String codeDay;

    /** 晚间天气现象文字 */
    @Excel(name = "晚间天气现象文字")
    private String textNight;

    /** 晚间天气现象代码 */
    @Excel(name = "晚间天气现象代码")
    private String codeNight;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 当天最高温度 */
    @Excel(name = "当天最高温度")
    private String high;

    /** 当天最低温度 */
    @Excel(name = "当天最低温度")
    private String low;

    /** 降水概率，范围0~100，单位百分比（目前仅支持国外城市） */
    @Excel(name = "降水概率，范围0~100，单位百分比", readConverterExp = "目=前仅支持国外城市")
    private String precip;

    /** 风向文字 */
    @Excel(name = "风向文字")
    private String windDirection;

    /** 风向角度，范围0~360 */
    @Excel(name = "风向角度，范围0~360")
    private String windDirectionDegree;

    /** 风速，单位km/h（当unit=c时）、mph（当unit=f时） */
    @Excel(name = "风速，单位km/h", readConverterExp = "当=unit=c时")
    private String windSpeed;

    /** 风力等级 */
    @Excel(name = "风力等级")
    private String windScale;

    /** 降水量，单位mm */
    @Excel(name = "降水量，单位mm")
    private String rainfall;

    /** 相对湿度，0~100，单位为百分比 */
    @Excel(name = "相对湿度，0~100，单位为百分比")
    private String humidity;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updatedBy;

    /** 是否删除(1删除) */
    @Excel(name = "是否删除(1删除)")
    private String deleteFlag;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setCityId(String cityId)
    {
        this.cityId = cityId;
    }

    public String getCityId()
    {
        return cityId;
    }
    public void setCityName(String cityName)
    {
        this.cityName = cityName;
    }

    public String getCityName()
    {
        return cityName;
    }
    public void setDateText(String dateText)
    {
        this.dateText = dateText;
    }

    public String getDateText()
    {
        return dateText;
    }
    public void setTextDay(String textDay)
    {
        this.textDay = textDay;
    }

    public String getTextDay()
    {
        return textDay;
    }
    public void setCodeDay(String codeDay)
    {
        this.codeDay = codeDay;
    }

    public String getCodeDay()
    {
        return codeDay;
    }
    public void setTextNight(String textNight)
    {
        this.textNight = textNight;
    }

    public String getTextNight()
    {
        return textNight;
    }
    public void setCodeNight(String codeNight)
    {
        this.codeNight = codeNight;
    }

    public String getCodeNight()
    {
        return codeNight;
    }
    public void setDate(Date date)
    {
        this.date = date;
    }

    public Date getDate()
    {
        return date;
    }
    public void setHigh(String high)
    {
        this.high = high;
    }

    public String getHigh()
    {
        return high;
    }
    public void setLow(String low)
    {
        this.low = low;
    }

    public String getLow()
    {
        return low;
    }
    public void setPrecip(String precip)
    {
        this.precip = precip;
    }

    public String getPrecip()
    {
        return precip;
    }
    public void setWindDirection(String windDirection)
    {
        this.windDirection = windDirection;
    }

    public String getWindDirection()
    {
        return windDirection;
    }
    public void setWindDirectionDegree(String windDirectionDegree)
    {
        this.windDirectionDegree = windDirectionDegree;
    }

    public String getWindDirectionDegree()
    {
        return windDirectionDegree;
    }
    public void setWindSpeed(String windSpeed)
    {
        this.windSpeed = windSpeed;
    }

    public String getWindSpeed()
    {
        return windSpeed;
    }
    public void setWindScale(String windScale)
    {
        this.windScale = windScale;
    }

    public String getWindScale()
    {
        return windScale;
    }
    public void setRainfall(String rainfall)
    {
        this.rainfall = rainfall;
    }

    public String getRainfall()
    {
        return rainfall;
    }
    public void setHumidity(String humidity)
    {
        this.humidity = humidity;
    }

    public String getHumidity()
    {
        return humidity;
    }
    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }
    public void setCreatedBy(String createdBy)
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy()
    {
        return createdBy;
    }
    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }
    public void setUpdatedBy(String updatedBy)
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy()
    {
        return updatedBy;
    }
    public void setDeleteFlag(String deleteFlag)
    {
        this.deleteFlag = deleteFlag;
    }

    public String getDeleteFlag()
    {
        return deleteFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cityId", getCityId())
            .append("cityName", getCityName())
            .append("dateText", getDateText())
            .append("textDay", getTextDay())
            .append("codeDay", getCodeDay())
            .append("textNight", getTextNight())
            .append("codeNight", getCodeNight())
            .append("date", getDate())
            .append("high", getHigh())
            .append("low", getLow())
            .append("precip", getPrecip())
            .append("windDirection", getWindDirection())
            .append("windDirectionDegree", getWindDirectionDegree())
            .append("windSpeed", getWindSpeed())
            .append("windScale", getWindScale())
            .append("rainfall", getRainfall())
            .append("humidity", getHumidity())
            .append("createdAt", getCreatedAt())
            .append("createdBy", getCreatedBy())
            .append("updatedAt", getUpdatedAt())
            .append("updatedBy", getUpdatedBy())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
